Функция IF

Previous  Next

Тази функция има три аргумента, като първия трябва да бъде от Булев тип, а другите аргументи трябва да бъдат съвместими. Типът на резултата е дефиниран от типовете на последните два аргумента:

Тип на аргументите

Тип на резултата

Целочислен и/или реален

Целочислен ако двата аргумента са целочислени; и реален в обратния случай

Дата или дата/ас

Дата ако двата аргумента са дати; и дата/час в обратния случай

Всеки друг тип (един и същ за двата аргумента)

Същия тип

Ако първия аргумент е TRUE, то втория аргумент е считан като резултата на функцията; ако първия аргумент е FALSE, то третия аргумент се сяита за резултат на функцията.

Пример: Имаме атрибутна таблица, съдържаща данни за някои парцели. Колоната „Ценя“ съдържа известната цена на всеки парцел или NULL ако цената е неизвестна. Искаме да запишем израз, съдържащ предполагаемата цена на парцел: ако цената е неизвестна, то тя е изчислена като площта на парцела се умножи по 212 (предполагаемата цена на единица площ). Изразът ще бъде:

if (isnull(price), area() * 212, price)